<?php
class Mozg_Env_Base
{
    /**
		протокол, по которому будет работать модуль
     */
    private $_protocol;
    
    /**
		окружение, в котором будет работать модуль
     */
    private $_env;

    public function __construct ($protName, $envName)
    {
        $this->SetProtEnv($protName, $envName);
    }
    
    /**
		устанавливает протокол и окружение,
		вызывается только в конструкторе
     */
    final private function SetProtEnv($protName, $envName)
    {
        if ($protName && !Mozg_Env::IsRightProt($protName))
        {
            throw new Mozg_Exception_System(Mozg_Lang::_('UNKNOWN_PROTOCOL'));
        }
		$this->_protocol = $protName;
		
        if ($envName && !Mozg_Env::IsRightEnv($protName, $envName))
        {
            throw new Mozg_Exception_System(Mozg_Lang::_('UNKNOWN_ENVIRONMENT'));
        }
		$this->_env = $envName;

		return $this;
    }
    
    /**
		возвращает протокол, если установлен
     */
    final public function GetProt()
    {
        return $this->_protocol;
    }
    
    /**
		возвращает окружение, если установлено
     */
    final public function GetEnv()
    {
        return $this->_env;
    }
}